// PROGRAMA : SCRPR001
// BIBLIOTECA : SISP
// SISTEMA : SISP - SISTEMA DE INFORMACOES DE SEGURANCA PUBLICA
// IDENTIFICACAO CRIMINAL
// CLIENTE : GEJUSPC - GERENCIA DE ESTADO DA JUSTICA, SEGURANCA
// PUBLICA E CIDADANIA / INSTITUTO DE IDENT.
// OBJETIVO : EMISSAO DA FOLHA DE ANTECEDENTES CRIMINAIS
// PROGRAMADOR:
// DATA : 18 DE SETEMBRO 2000
// ALTERACAO

package br.com.vti.sisp_sicrim.antigo.controller.programa;

import java.io.FileNotFoundException;
import java.text.ParseException;

import net.sf.jasperreports.engine.JRException;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.vti.sisp_sicrim.antigo.controller.relatorios.Scrprb01Report;
import br.com.vti.sisp_sicrim.antigo.model.SicCadastro;
import br.com.vti.sisp_sicrim.antigo.util.ExceptionProgram;
import br.com.vti.sisp_sicrim.antigo.util.Scrg001;
import br.com.vti.sisp_sicrim.antigo.util.Sessao;
import br.com.vti.sisp_sicrim.antigo.util.UtilBean;

/**
 * Classe : Scrprb01 OBJETIVO : EMISSAO DA FOLHA DE ANTECEDENTES CRIMINAIS *
 * 
 * @author Incode - Data: mai/2014
 * 
 */

@Resource
@Path("/antigo/scrprb01")
public class Scrprb01 {
	// Views utilizadas
	SicCadastro criminalView = new SicCadastro();
	// Telas/relatorios utilizados
	Scrprb01Report report;
	// Areas globais / session
	Scrg001 scrg001; // Funcoes/subrotinas
	FuncoesGerais funcoes = new FuncoesGerais();

	Result result;
	Sessao sessao;
	Boolean primeiraVez = false;
	private String fdc = "";
	private int cont = 0;
	private int numero = 0;

	public Scrprb01(Result result, Sessao sessao) {
		this.result = result;
		this.sessao = sessao;
	}

	@Post
	public void executar() {
		try {
			main();
		} catch (Exception e) {
			ExceptionProgram excp = new ExceptionProgram();
			// excp.trataErroScrcerro(e, sessao, this.getClass().getSimpleName());
		}
	}

	private void main() throws ParseException, JRException, FileNotFoundException {
		sessao.getScrg001().setWVltw(18);
		numero = 0;
		// for (int i1 = 1; i1<=150 ; i1++ )
		// {
		// obs [i1] = "";
		// }
		// RELATORIO 1 PS=66 LS=90 SG=OFF
		report = new Scrprb01Report();
		report.setPageSize(66);
		report.setLineSize(90);
		report.setIdma("");
		report.setDataCorrente(UtilBean.inverteDataCorrente());
		// RELATORIO
		// MP = 1;
		// //DEFINE PRINTER(1)

		// OUTPUT 'P69E'

		// GETSETMOVE
		// report.setJobservacoez(*)(criminalView.getObservacao());
		// Par�grafo: ini01()
		while (criminalView.pesquisaRegEstadualGeral((long) 31589)) {
			// 329

			fdc = UtilBean.concatena(criminalView.getPolegarDireito(), criminalView.getIndicadorDireito(), criminalView.getMedioDireito(), criminalView.getAnularDireito(), criminalView.getMinimoDireito(), criminalView.getPolegarEsquerdo(), criminalView.getIndicadorEsquerdo(), criminalView.getMedioEsquerdo(), criminalView.getAnularEsquerdo(), criminalView.getMinimoEsquerdo());
			// GETSETMOVE
			report.setJobservacoez(criminalView.getObservacao());
			if (criminalView.getObservacao(1).trim().equals("") && criminalView.getObservacao(2).trim().equals("") && criminalView.getObservacao(3).trim().equals("") && criminalView.getObservacao(4).trim().equals("")) {
				criminalView.setObservacao(1, "NAO FOI REGISTRADA NEM UMA OCORRENCIA PARA ESTE INDIVIDUO ");
			}

			formataRelatorio();
			report.gravaRelatorio(3);

			// RELATORIO
		}
		if (criminalView.totalRegistros() == 0) {
			if (criminalView.getNumero() != 0) {
				// report.gravaRelatorio( 1);
				UtilBean.mensagemTexto("O NUMERO INFORMADO DO REGISTRO NAO FOI CADASTRADO,");
				// report.gravaRelatorio( 2);
				UtilBean.mensagemTexto("OU FOI DIGITADO INCORRETAMENTE,  VERIFIQUE...!");
			}
		} else
			report.imprimir();
		criminalView.fecha();
	}

	private void formataRelatorio() throws ParseException {
		report.setAaaammdd(UtilBean.inverteData(criminalView.getDataNasc()));
		report.setNome(criminalView.getNomeCompleto());
		report.setAnudir(criminalView.getAnularDireito());
		report.setAnuesq(criminalView.getAnularEsquerdo());
		report.setApelidoAlcunhas(criminalView.getApelidoAlcunhas(1));
		report.setInddir(criminalView.getIndicadorDireito());
		report.setIndesq(criminalView.getIndicadorEsquerdo());
		report.setMeddir(criminalView.getMedioDireito());
		report.setMedesq(criminalView.getMedioEsquerdo());
		report.setMindir(criminalView.getMinimoDireito());
		report.setMinesq(criminalView.getMinimoEsquerdo());
		report.setNaturalidade(criminalView.getNaturalidade());
		report.setNomeMae(criminalView.getNomeMae());
		report.setPoldir(criminalView.getPolegarDireito());
		report.setPolesq(criminalView.getPolegarEsquerdo());
		report.setRegistroEstadualGeral(criminalView.getRegEstadualGeral());
		report.setNomeI(UtilBean.subStr(criminalView.getNomeCompleto(), 0, 47));
		report.setNomeR(UtilBean.subStr(criminalView.getNomeCompleto(), 47, 13));
		report.setTexto1("");
		report.setTexto2("");
		report.setTexto3("");
		report.setIa("0");
		report.setId("0");
		report.setIm("0");
	}
}
